// pages/selectBackMusic.js
const localMusicList = require('../../common/local/xdmusic.js')
const innerAudioContext = wx.createInnerAudioContext()//音频播放
Page({
  data: {
    datalist: [],
    currentIndex: '0-0',
    playmusicIndex:null,
    playMusicUrl:null
  },
  onLoad: function(options) {
    //加载本地文件
    this.setData({
      datalist: localMusicList.musicList.kge_musics
    })
    console.log(this.data.datalist)
    innerAudioContext.autoplay = false
  //音频播放回调
    innerAudioContext.onPlay(() => {
      console.log('开始播放')
    })

    innerAudioContext.onEnded(() => {
      console.log('结束')
      this.setData({
        playmusicIndex: null
      })
    })  
    //  播放出错
    innerAudioContext.onError((res) => {
      console.log(res.errMsg)
      console.log(res.errCode)
    })

  },

  selectMusic: function(e) {
    console.log('选择音乐');
    this.setData({
      currentIndex: e.currentTarget.dataset.index
    })
  },

  playMusic:function(e){
    console.log('播放或者暂停音乐');
    if (this.data.playmusicIndex === e.currentTarget.dataset.index){
      this.setData({
        playmusicIndex: null
      })
      this.pasue();
    }else{
      //先停止上一个音乐
      this.stop();
      this.setData({
        playmusicIndex: e.currentTarget.dataset.index,
        playMusicUrl: e.currentTarget.dataset.musicurl
      })
      //播放音乐
      this.play(this.data.playMusicUrl);
    }
  },

  stop: function () {
    console.log('停止上一个音乐');
    innerAudioContext.stop();
  },

  pasue:function(){
    console.log('暂停音乐');
    innerAudioContext.pause();
  },

  play:function(url){
    console.log('播放音乐' + url);
    innerAudioContext.src = url;
    innerAudioContext.play();
  },

  handlerSureTap: function() {
    console.log('确定');
    this.stop();
    //定义常量写法
    const {
      datalist,
      currentIndex
    } = this.data;
    const [idx, cellIdx] = currentIndex.split('-');//分割数组
    const {
      url
    } = datalist[idx].musics[cellIdx];
    const{
      name
    } = datalist[idx].musics[cellIdx];
    //确定 将数据返回到上个页面
    var pages = getCurrentPages();
    var prevPage = pages[pages.length - 2];  //上一个页面
    //直接调用上一个页面的setData()方法，把数据存到上一个页面中去
    prevPage.setData({
      musicUrl: url,
      musicNmae: name,
    })
    wx.navigateBack({
      delta: 1,
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function() {
    //停止背景音乐
    this.stop();
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function() {
    //停止背景音乐
    this.stop();
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function() {

  }
})